package cn.miju.unionpay.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

/**
 * <pre>
 * 退货类（退货）
 * </pre>
 *
 * @author zhuming
 * @version 1.0.0
 * @since 2023-03-15 22:16
 */
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class RefundRequest extends UnionPayRequest {
    /**
     * 	商户订单号
     * 	商户订单号，不能含“-”或“_”;
     * 商户自定义，同一交易日期内不可重复;
     */
    private String orderId;
    /**
     * 交易金额 单位为分
     */
    private String txnAmt;
    /**
     * 原交易查询流水号
     * 1.原始消费交易的queryId；
     * 2.origQryId、origOrderId + origTxnTime、二者必送其一
     */
    private String origQryId;
    /**
     * 原交易商户订单号
     * 1.原始消费交易的orderId；
     * 2.origQryId、origOrderId + origTxnTime二者必送其一
     */
    private String origOrderId;
    /**
     * 原交易商户发送交易时间;YYYYMMDDhhmmss
     * 1.原始消费交易的txnTime；
     * 2.origQryId、origOrderId + origTxnTime二者必送其一
     */
    private String origTxnTime;
    /**
     * 	后台通知地址
     * 	如果不需要发后台通知，可以固定上送http://www.specialUrl.com
     */
    private String backUrl;
    /**
     * 分账域（JSON字符串转Base64）
     */
    private String accSplitData;
    /**
     * 请求方保留域
     * 商户自定义保留域，交易应答时会原样返回
     */
    private String reqReserved;
    /**
     * 收款方附加数据（JSON字符串）
     */
    private String acqAddnData;
    /**
     * 终端号
     * 原则是可以通过交易上送的终端编号准确定位商户每一个门店内每一台收银设备，建议按“门店编号+收银机编号”或“设备编号”组成8位终端编号在交易中上送。
     * 商户需将终端编号与门店对应关系反馈给银联。
     */
    private String termId;

}
